package com.unicom.auth.controller;

import java.util.List;
import java.util.UUID;

import com.unicom.auth.controller.base.BaseController;
import com.unicom.auth.controller.dto.MyAppJSON;
import com.unicom.auth.model.Position;
import com.unicom.auth.model.Role;
import com.unicom.auth.model.User;

public class PositionController extends BaseController {

	@Override
	public void index() {
		MyAppJSON<Position> appJSON = new MyAppJSON<Position>();
		List<Position> positions = Position.dao.findAll();
		appJSON.addItems(positions);
		renderJson(appJSON);
	}

	public void show() {
		String code = getPara(0);
		Position position = Position.dao.findById(code);
		MyAppJSON<Position> appJSON = new MyAppJSON<Position>();
		appJSON.addItem(position);
		renderJson(appJSON);
	}

	public void save() {
		Position position = getModel(Position.class);
		MyAppJSON<Position> appJSON = new MyAppJSON<Position>();
		if (position.save()) {
			List<Position> positions = Position.dao.findAll();
			appJSON.addItems(positions);
		} else {
			appJSON.setErrCode(MyAppJSON.ERR_CREATE);
			appJSON.setMessage("创建失败");
		}

		renderJson(appJSON);
	}

	public void update() {
		Position position = getModel(Position.class);
		MyAppJSON<Position> appJSON = new MyAppJSON<Position>();
		if (position.update()) {
			List<Position> positions = Position.dao.findAll();
			appJSON.addItems(positions);
		} else {
			appJSON.setErrCode(MyAppJSON.ERR_UPDATE);
			appJSON.setMessage("更新失败");
		}

		renderJson(appJSON);
	}

	public void delete() {
		String code = getPara(0);
		Position position = Position.dao.findById(code);
		MyAppJSON<Position> appJSON = new MyAppJSON<Position>();
		if (User.dao.existPostion(position)) {
			appJSON.setErrCode(MyAppJSON.ERR_DETELE);
			appJSON.setMessage("当前记录已被使用，不可删除");
		} else {
			if (position.delete()) {
				List<Position> positions = Position.dao.findAll();
				appJSON.addItems(positions);
			} else {
				appJSON.setErrCode(MyAppJSON.ERR_DETELE);
				appJSON.setMessage("删除失败");
			}
		}
		renderJson(appJSON);
	}
}
